In Ethernet network architectures, devices connected to the network compete for the ability to use shared telecommunications paths at any given time. Where multiple bridges or nodes are used to interconnect network segments, multiple potential paths to the same destination often exist. The benefit of this architecture is that it provides path redundancy between bridges and permits capacity to be added to the network in the form of additional links. However to prevent loops from being formed, a spanning tree was generally used to restrict the manner in which traffic was broadcast on the network. Since routes were learned by broadcasting a frame and waiting for a response, and since both the request and response would follow the spanning tree, most if not all of the traffic would follow the links that were part of the spanning tree. This often led to over-utilization of the links that were on the spanning tree and non-utilization of the links that weren't part of the spanning tree.
To overcome some of the limitations inherent in Ethernet networks, a link state protocol controlled Ethernet network was disclosed in U.S. patent application Ser. No. 11/537,775, filed Oct. 2, 2006, entitled “Provider Link State Bridging,” the content of which is hereby incorporated herein by reference. As described in greater detail in that application, the nodes in a link state protocol controlled Ethernet network exchange “hello” messages to learn adjacencies of other nodes on the network, and transmit “link state advertisement” messages to enable each node on the network to build a link state database. Included in link state packets is a metric associated with the link being advertised. Conventionally, this metric is interpreted as a distance. The link state database may then be used to compute shortest paths through the network. Each node then populates a Forwarding Information Base (FIB) which will be used by the node to make forwarding decisions so that frames will be forwarded over the computed shortest path to the destination. Since the shortest path to a particular destination is always used, the network traffic will be distributed across a larger number of links and follow a more optimal path for a larger number of nodes than where a single Spanning Tree or even multiple spanning trees are used to carry traffic on the network.
When customer traffic enters a provider network, a customer frame's destination MAC address (C-MAC DA) is resolved to a provider MAC address (B-MAC DA), so that the provider may forward traffic on the provider network using the provider MAC address space. Additionally, the network elements on the provider network are configured to forward traffic based on a Virtual LAN ID (VID) so that different frames addressed to the same destination address but having different VIDs may be forwarded over different paths through the network. In operation, a link state protocol controlled Ethernet network may associate one VID range with shortest path forwarding, such that unicast and multicast traffic may be forwarded using a VID from that range, and traffic engineering paths may be created across the network on paths other than the shortest path, and forwarded using a second VID range. The use of Traffic Engineered (TE) paths through a link state protocol controlled Ethernet network is described in greater detail in U.S. patent application Ser. No. 11/732,381, filed Apr. 3, 2007, entitled “Engineered Paths In A Link State Protocol Controlled Ethernet Network”, the content of which is hereby incorporated herein by reference.
Link state routing protocols include Open Shortest Path First (OSPF) and intermediate system to intermediate system (IS-IS). These link state networks can only scale up to the point where the reconvergence time for the link state control plane becomes unacceptable due to the complexity of the required computation, which grows exponentially in proportion to network size. To get past that point, link state protocols partition networks into areas. Both IS-IS and OSPF are confined to a two level hierarchy: a single backbone area (Level 2 in IS-IS) with subtending Level 1 (L1) stub areas.
In Provider Link State Bridging (PLSB), which applies the IS-IS protocol to bridges in Providers' Ethernet networks, the bridge that interconnects two (or more) areas is called an Area Border Bridge (ABB). For reliability, it is desirable that there be multiple ABBs between any L1 area and the single Level 2 (L2) area. The operation of the IS-IS protocol in IP networks is known in the art. However, there are significant differences between Internet Protocol (IP) and PLSB which cause the tried and true ways that IP traffic is directed between areas to not a ways apply for PLSB. For example, IP is based on subnets, so the test as to whether to forward a packet toward an area border router is simple.
IP is connectionless, so forwarding a packet toward the closest Area Border Router (ABR), the IP network equivalent of the closest ABB, will always work. IP does not require path symmetry so a packet can leave an area by one ABB and the reverse packet can arrive by another ABB, whereas, for reasons relating to Ethernet multicast and to operational instrumentation, in PLSB, the path between two endpoints must be the same for both directions. Also, IS-IS for IP and OSPF protocols do not support multicast routing, while multicast trees are an essential part of PLSB. For Ethernet, it is desirable (and mandatory for the design of PLSB) that multicast packets must follow the same routes as the unicast packets transmitted to the same destinations.
Currently, the IS-IS protocol allows a link to be in both an L1 area and an L2 area, but PLSB provides no indication for an ABB to determine if an incoming packet should be treated as arriving from L1 or from L2 in determining its next hop. There is also no provision to handle the scenario where a single ABB serves multiple disjoint L1 areas.
Therefore, what is needed is a system and method for loop-free forwarding of packets in a multi-area PLSB network where L1 areas may be served by multiple ABBs and a single ABB may serve multiple areas.